100
How can I show the item in italics

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):Italic := .T.
			oItems:Add("<i>Item</i>")
			oItems:Add(""):ToString := "Item[itl]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
99
How can I show the item in bold

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):Bold := .T.
			oItems:Add("<b>Item</b>")
			oItems:Add(""):ToString := "Item[bld]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
98
How can I show the item as disabled but still be able to select or use it

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):ShowAsDisabled := .T.
			oItems:Add(""):ToString := "Item[showdis=1]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
97
How can I enable or disable an item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):Enabled := .F.
			oItems:Add(""):ToString := "Item[dis]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
96
How can I add a separator item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):CaptionWidth := 128
			oItems:Add("<font ;6>separator",1)
			oItems:Add("Item"):CaptionWidth := 128
			oItems:Add(""):ToString := "<font ;6>separator[sep]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
95
How can I change the item's foreground color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oItems:Add("<fgcolor FF0000>Item")
			oItems:Add(""):ToString := "Item[fg=RGB(255,0,0)]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
94
How can I change the item's background/backcolor, when the item is selected/checked (radio-buttons)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("Radio 1")
						oitem1:SetProperty("HotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
						oitem1:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
						oitem1:SetProperty("SelHotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
						oitem1:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
						oitem1:Radio := .T.
						oitem1:RadioGroup := 100
						oitem1:Checked := .T.
					oitem2 := oItems1:Add("Radio 2")
						oitem2:SetProperty("HotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
						oitem2:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
						oitem2:SetProperty("SelHotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
						oitem2:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
						oitem2:Radio := .T.
						oitem2:RadioGroup := 100
					oItems1:Add(""):ToString := "Radio 3[typ=2][show=1][grp=100][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
93
How can I change the item's background/backcolor, when the item is selected/checked (check-box)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Check 1")
				oitem:SetProperty("HotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
				oitem:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
				oitem:SetProperty("SelHotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
				oitem:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
				oitem:Checked := .T.
				oitem:Check := .T.
			oItems:Add(""):ToString := "Check 2[typ=1][chk=0][show=1][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
92
How can I prevent showing the border for selected/highlight/hot items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("Background",102/*exMenuSelBorderColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oItems := oExContextMenu:Items()
			oItems:Add("Item")
			oItems:Add("Item")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
91
How can I change the item's background/backcolor, when the cursor hovers it (hot)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item"):SetProperty("HotBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oItems:Add(""):ToString := "Item[bghot=RGB(255,0,0)]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
90
How can I change the item's background/backcolor

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oItems := oExContextMenu:Items()
			oItems:Add("Item"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oItems:Add("Item"):SetProperty("BackColor",0x1000000)
			oItems:Add(""):ToString := "Item[bg=RGB(255,0,0)]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
89
How can I specify/assign the item's identifier

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Debug := .T.
		oItems := oExContextMenu:Items()
			oItems:Add("ID 1",0,1000)
			oItems:Add("ID 2"):ID := 1001
			oItems:Add(""):ToString := "ID 3[id=1002]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
88
How can I show a horizontal separator/line between groups (method 3,EBN color)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 259/*exGroupPopupVertical+exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("")
						oitem1:AllowEdit := 3/*exItemEditSlider*/
						oitem1:EditBorder := 0/*exEditBorderNone*/
						oitem1:EditWidth := -128
						oitem1:EditValue := 25
					oitem2 := oItems1:Add("")
						oitem2:Enabled := .F.
						oitem2:SetProperty("BackColor",0x1000000)
						oitem2:ItemHeight := 8
						oitem2:CaptionWidth := 128
					oitem3 := oItems1:Add("")
						oitem3:AllowEdit := 3/*exItemEditSlider*/
						oitem3:EditBorder := 0/*exEditBorderNone*/
						oitem3:EditWidth := -128
						oitem3:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
87
How can I show a horizontal separator/line between groups (method 2,solid color)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 259/*exGroupPopupVertical+exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("")
						oitem1:AllowEdit := 3/*exItemEditSlider*/
						oitem1:EditBorder := 0/*exEditBorderNone*/
						oitem1:EditWidth := -128
						oitem1:EditValue := 25
					oitem2 := oItems1:Add("")
						oitem2:Enabled := .F.
						oitem2:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
						oitem2:ItemHeight := 8
						oitem2:CaptionWidth := 128
					oitem3 := oItems1:Add("")
						oitem3:AllowEdit := 3/*exItemEditSlider*/
						oitem3:EditBorder := 0/*exEditBorderNone*/
						oitem3:EditWidth := -128
						oitem3:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
86
How can I show a horizontal separator/line between groups (method 1,pattern)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3,oitem4
	LOCAL oItems,oItems1,oItems2

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 259/*exGroupPopupVertical+exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("")
						oitem1:AllowEdit := 3/*exItemEditSlider*/
						oitem1:EditBorder := 0/*exEditBorderNone*/
						oitem1:EditWidth := -128
						oitem1:EditValue := 25
					oitem2 := oItems1:Add("",2)
						oitem2:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
						oItems2 := oitem2:Items()
							oitem3 := oItems2:Add("")
								oitem3:Enabled := .F.
								oitem3:ItemHeight := 8
								oitem3:CaptionWidth := 128
							oItems2:BackgroundExt := "none[(0,50%-1,100%,2),pattern=0x006,patterncolor=RGB(128,128,128)]"
					oitem4 := oItems1:Add("")
						oitem4:AllowEdit := 3/*exItemEditSlider*/
						oitem4:EditBorder := 0/*exEditBorderNone*/
						oitem4:EditWidth := -128
						oitem4:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
85
How can I show a vertical separator/line between groups (method 3,EBN color)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("")
						oitem1:ItemHeight := 128
						oitem1:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
						oitem1:EditBorder := 0/*exEditBorderNone*/
						oitem1:EditWidth := 32
						oitem1:EditValue := 25
					oitem2 := oItems1:Add("")
						oitem2:Enabled := .F.
						oitem2:SetProperty("BackColor",0x1000000)
						oitem2:ItemHeight := 96
						oitem2:CaptionWidth := 8
					oitem3 := oItems1:Add("")
						oitem3:ItemHeight := 128
						oitem3:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
						oitem3:EditBorder := 0/*exEditBorderNone*/
						oitem3:EditWidth := 32
						oitem3:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
84
How can I show a vertical separator/line between groups (method 2,solid color)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("")
						oitem1:ItemHeight := 128
						oitem1:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
						oitem1:EditBorder := 0/*exEditBorderNone*/
						oitem1:EditWidth := 32
						oitem1:EditValue := 25
					oitem2 := oItems1:Add("")
						oitem2:Enabled := .F.
						oitem2:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 128,128,128 } )  , .F. ))
						oitem2:ItemHeight := 96
						oitem2:CaptionWidth := 8
					oitem3 := oItems1:Add("")
						oitem3:ItemHeight := 128
						oitem3:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
						oitem3:EditBorder := 0/*exEditBorderNone*/
						oitem3:EditWidth := 32
						oitem3:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
83
How can I show a vertical separator/line between groups (method 1,pattern)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3,oitem4
	LOCAL oItems,oItems1,oItems2

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("")
						oitem1:ItemHeight := 128
						oitem1:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
						oitem1:EditBorder := 0/*exEditBorderNone*/
						oitem1:EditWidth := 32
						oitem1:EditValue := 25
					oitem2 := oItems1:Add("",2)
						oitem2:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
						oItems2 := oitem2:Items()
							oitem3 := oItems2:Add("")
								oitem3:Enabled := .F.
								oitem3:ItemHeight := 96
								oitem3:CaptionWidth := 8
							oItems2:BackgroundExt := "none[(50%-1,0,2,100%),pattern=6,patterncolor=RGB(128,128,128)]"
					oitem4 := oItems1:Add("")
						oitem4:ItemHeight := 128
						oitem4:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
						oitem4:EditBorder := 0/*exEditBorderNone*/
						oitem4:EditWidth := 32
						oitem4:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
82
How can I show a pattern on the items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oItems1:Add("Item 1")
					oItems1:Add("Item 2")
					oItems1:Add("Item 3")
			oItems:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
			oItems:Padding := "2,2,2,12"
			oItems:BackgroundExt := "root[pattern=0x006,patterncolor=RGB(128,128,128),frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor>`,align=0x21])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
81
How can I show a thick frame arround the items

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oItems1:Add("Item 1")
					oItems1:Add("Item 2")
					oItems1:Add("Item 3")
			oItems:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
			oItems:Padding := "2,2,2,12"
			oItems:BackgroundExt := "root[frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor>`,align=0x21])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
80
How can I add some additional icons on the background

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 1/*exGroupPopup*/
				oItems1 := oitem:Items()
					oItems1:Add("Item 1")
					oItems1:Add("Item 2")
					oItems1:Add("Item 3")
			oItems:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
			oItems:Padding := "0,0,0,16"
			oItems:BackgroundExt := "root[text=`<img>2</img><font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor><img>2</img>`,align=0x21]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
79
How can I add some additional text on the background

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 1/*exGroupPopup*/
				oItems1 := oitem:Items()
					oItems1:Add("Item 1")
					oItems1:Add("Item 2")
					oItems1:Add("Item 3")
			oItems:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
			oItems:Padding := "0,0,0,8"
			oItems:BackgroundExt := "root[text=`<font ;6><fgcolor 808080>clipboard`,align=0x21]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
78
How can I assign a tooltip to an item (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "ToolTip[id=10][ttp=This is a bit of text that should be shown when cursor hovers the item]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
77
How can I assign a tooltip to an item (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():Add("ToolTip"):Tooltip := "This is a bit of text that should be shown when cursor hovers the item"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
76
How can I assign a spin field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Spin")
				oitem:AllowEdit := 512/*exItemEditSpin*/
				oitem:EditWidth := 16
				oitem:EditValue := 15
				oitem:EditBorder := 0/*exEditBorderNone*/
				oitem:SetProperty("EditOption",2/*exEditMaxValue*/,1000)
			oitem1 := oItems:Add("Edit-Spin")
				oitem1:AllowEdit := 513/*exItemEditSpin+exItemEditText*/
				oitem1:EditWidth := -128
				oitem1:EditValue := 15
				oitem1:SetProperty("EditOption",2/*exEditMaxValue*/,1000)
			oitem2 := oItems:Add("Splider-Spin")
				oitem2:AllowEdit := 515/*exItemEditSpin+exItemEditSlider*/
				oitem2:EditWidth := -128
				oitem2:EditValue := 25
				oitem2:EditBorder := 0/*exEditBorderNone*/
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
75
How can I assign a spin field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Spin[id=10][edittype=0x0200][edit=15][border=0][max=1000][editwidth=16],Edit-Spin[id=20][edittype=0x0201][edit=15][max=1000][editwidth=-128],Splider-Spin[id=30][edittype=0x0203][edit=25][border=0][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
74
How can I add a vertical slider (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "Vertical[id=10][edittype=0x0403][edit=25][border=0][height=128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
73
How can I add a vertical slider (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Vertical")
				oitem:ItemHeight := 128
				oitem:AllowEdit := 1027/*exItemEditVertical+exItemEditSlider*/
				oitem:EditBorder := 0/*exEditBorderNone*/
				oitem:EditWidth := 32
				oitem:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
72
How can I disable an editor (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "Disabled[id=10][dis][edittype=0x01][edit=text-box][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
71
How can I disable an editor (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Disabled")
				oitem:AllowEdit := 1/*exItemEditText*/
				oitem:EditWidth := -128
				oitem:EditValue := "text-box"
				oitem:Enabled := .F.
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
70
How can I lock an editor (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "Locked[id=10][edittype=0x0101][edit=disabled text-box][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
69
How can I lock an editor (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Locked")
				oitem:AllowEdit := 257/*exItemEditReadOnly+exItemEditText*/
				oitem:EditWidth := -128
				oitem:EditValue := "disabled text-box"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
68
How can I assign a font field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Font")
				oitem:AllowEdit := 7/*exItemEditFont*/
				oitem:EditWidth := -128
				oitem:EditValue := "Tahoma"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
67
How can I assign a font field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Font[id=10][edittype=0x07][edit=Tahoma][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
66
How can I assign a color field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Color")
				oitem:AllowEdit := 6/*exItemEditColor*/
				oitem:EditBorder := 0/*exEditBorderNone*/
				oitem:EditWidth := -128
				oitem:EditValue := 255
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
65
How can I assign a color field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Color[id=10][edittype=0x06][edit=#FF0000][border=0][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
64
How can I assign a scrollbar field to the item (method 2)
PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("ScrollBar")
				oitem:AllowEdit := 5/*exItemEditScrollBar*/
				oitem:EditWidth := -128
				oitem:EditValue := "25"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
63
How can I assign a scrollbar field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "ScrollBar[id=10][edittype=0x05][edit=25][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
62
Is it possible to change the tooltip beging shown when I change the slider/scroll/progress value

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Progress")
				oitem:AllowEdit := 4/*exItemEditProgress*/
				oitem:EditWidth := -128
				oitem:EditValue := 25
				oitem:SetProperty("EditOption",8/*exEditChangeToolTip*/,"`Current value is: ` + value")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
61
How can I hide the tooltip beging shown when I change the slider/scroll/progress value
PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Progress")
				oitem:AllowEdit := 4/*exItemEditProgress*/
				oitem:EditWidth := -128
				oitem:EditValue := 25
				oitem:SetProperty("EditOption",8/*exEditChangeToolTip*/,"")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
60
How can I assign a progress field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Progress")
				oitem:AllowEdit := 4/*exItemEditProgress*/
				oitem:EditWidth := -128
				oitem:EditValue := 25
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
59
How can I assign a progress field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Progress[id=10][edittype=0x04][edit=25][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
58
How can I assign a slider field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Slider")
				oitem:AllowEdit := 3/*exItemEditSlider*/
				oitem:EditWidth := -128
				oitem:EditValue := 25
			oitem1 := oItems:Add("Slider")
				oitem1:AllowEdit := 3/*exItemEditSlider*/
				oitem1:EditBorder := 0/*exEditBorderNone*/
				oitem1:EditWidth := -128
				oitem1:SetProperty("EditOption",1/*exEditMinValue*/,50)
				oitem1:SetProperty("EditOption",2/*exEditMaxValue*/,450)
				oitem1:SetProperty("EditOption",3/*exEditTickStyle*/,2)
				oitem1:SetProperty("EditOption",4/*exEditTickFrequency*/,50)
				oitem1:SetProperty("EditOption",5/*exEditTickLabel*/,"value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><font ;6><b><fgcolor FF0000>'+value : '' ) )")
				oitem1:EditValue := 345
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
57
How can I assign a slider field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Slider[id=10][edittype=0x03][edit=25][editwidth=-128],Slider[id=20][edittype=0x03][edit=345][border=0][min=50][max=450][tick=2][freq=50][ticklabel=value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><font ;6><b><fgcolor FF0000>'+value : '' ) )][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
56
How can I assign a mask (time) field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Time")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := "99:00:00;;0;overtype,warning=Invalid character"
				oitem:EditValue := "123456"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
55
How can I assign a mask (time) field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Time[id=10][edittype=0x02][edit=12:34:56][mask=99:00:00;;0;overtype,warning=Invalid character][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
54
How can I assign a mask (license key) field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("License Key")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := "AAAA-AAAA-AAAA-AAAA"
				oitem:EditValue := "1234"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
53
How can I assign a mask (license key) field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "License Key[id=10][edittype=0x02][edit=1234-____-____-____][mask=AAAA-AAAA-AAAA-AAAA][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
52
How can I assign a mask (IP address) field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("IP Address")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := "{0,255}.{0,255}.{0,255}.{0,255}"
				oitem:EditValue := "1.2.3.4"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
51
How can I assign a mask (IP address) field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "IP Address[id=10][edittype=0x02][edit=1.2.3.4][mask={0,255}.{0,255}.{0,255}.{0,255}][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
50
How can I assign a mask (phone) field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Phone")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := "!(9999) 000 000;;;empty,select=4,overtype,beep"
				oitem:EditValue := "0771638317"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
49
How can I assign a mask (phone) field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Phone[id=10][edittype=0x02][edit=(0771) 638 317][mask=!(9999) 000 000;;;empty,select=4,overtype,beep][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
48
How can I assign a mask (date) field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := "`Date: `{1,12}/{1,31}/{1950,2050};;;select=1"
				oitem:EditValue := "02/15/2015"
			oitem1 := oItems:Add("Date")
				oitem1:AllowEdit := 2/*exItemEditMask*/
				oitem1:EditWidth := -128
				oitem1:EditMask := "!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,overtype"
				oitem1:EditValue := "02/15/2015"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
47
How can I assign a mask (date) field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "[id=10][edittype=0x02][edit=Date: 2/15/2015][mask=`Date: `{1,12}/{1,31}/{1950,2050};;;select=1][editwidth=-128],Date[id=20][edittype=0x02][edit=02/15/2015][mask=!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,overtype][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
46
How can I assign a mask (integer) field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Integer")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := ";;;float,grouping=,digits=0"
				oitem:EditValue := 1000
			oitem1 := oItems:Add("Integer-Grouping")
				oitem1:AllowEdit := 2/*exItemEditMask*/
				oitem1:EditWidth := -128
				oitem1:EditMask := ";;;float,decimal=,digits=0,select=1"
				oitem1:EditValue := 1000
			oitem2 := oItems:Add("Integer-In-Range")
				oitem2:AllowEdit := 2/*exItemEditMask*/
				oitem2:EditWidth := -128
				oitem2:EditMask := "{0,2050}"
				oitem2:EditValue := 1000
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
45
How can I assign a mask (integer) field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Integer[id=10][edittype=0x02][edit=1000][mask=;;;float,grouping=,digits=0][editwidth=-128],Integer-Grouping[id=20][edittype=0x02][edit=1,000][mask=;;;float,decimal=,digits=0,select=1][editwidth=-128],Integer-In-Range[id=30][edittype=0x02][edit=1000][mask={0,2050}][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
44
How can I assign a mask field to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Mask")
				oitem:AllowEdit := 2/*exItemEditMask*/
				oitem:EditWidth := -128
				oitem:EditMask := ";;;float,select=1"
				oitem:EditValue := 1000
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
43
How can I assign a mask field to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Text-Box[id=10][edittype=0x02][edit=1,000][mask=;;;float,select=1][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
42
How can I assign an edit / text-box to the item (method 2)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("Mask")
				oitem:AllowEdit := 1/*exItemEditText*/
				oitem:EditValue := "this is a text"
				oitem:EditWidth := -128
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
41
How can I assign an edit / text-box to the item (method 1)

PROCEDURE OnEditChange(oExContextMenu,Itm)
	DevOut( Transform(Itm,"") )
RETURN

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:EditChange := {|Itm| OnEditChange(oExContextMenu,Itm)} /*Occurs when the user alters the item's text box field.*/

		oExContextMenu:ToString := "Text-Box[edit=this is a text][editwidth=-128]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
40
How can I display a tab into the context menu (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1
	LOCAL oItems,oItems1,oItems2,oItems3

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("Background",102/*exMenuSelBorderColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oItems := oExContextMenu:Items()
			oItems:ToString := "[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=0][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-100]))"
			oItems1 := oItems:item(-10):Items()
				oItems1:Add("",0,0):Padding := "8,0,0,0"
				oitem := oItems1:Add("New Page")
					oitem:ToString := "[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][group=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))"
					oitem:Caption := "Page<off -5><font ;5><b>1</b></font></off>"
					oItems2 := oitem:Items()
						oItems2:Add("add here fields for page 1"):Enabled := .F.
				oitem1 := oItems1:Add("New Page")
					oitem1:ToString := "[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][group=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))"
					oitem1:Caption := "Page<off -5><font ;5><b>2</b></font></off>"
					oItems3 := oitem1:Items()
						oItems3:Add("add here fields for page 2"):Enabled := .F.
				oItems1:Add("",0,0):Padding := "8,0,0,0"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
39
How can I add check-buttons to items, without showing the check-box (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("Check 1")
						oitem1:Check := .T.
						oitem1:Checked := .T.
						oitem1:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
					oitem2 := oItems1:Add("Check 2")
						oitem2:Check := .T.
						oitem2:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
					oitem3 := oItems1:Add("Check 3")
						oitem3:Check := .T.
						oitem3:Checked := .T.
						oitem3:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
38
How can I add check-buttons to items, without showing the check-box (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "[group=0x3](Check 1[chk=1][show=1],Check 2[chk=0][show=1],Check 3[chk=1][show=1])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
37
How can I add radio buttons to items, without showing the radio-buttons (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("Radio 1",,1000)
						oitem1:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
						oitem1:Radio := .T.
						oitem1:RadioGroup := 100
					oitem2 := oItems1:Add("Radio 2",,1001)
						oitem2:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
						oitem2:Radio := .T.
						oitem2:RadioGroup := 100
					oitem3 := oItems1:Add("Radio 2",,1003)
						oitem3:ShowCheckedAsSelected := 1/*exDisplayItemHighlight*/
						oitem3:Radio := .T.
						oitem3:RadioGroup := 100
					oItems1:item(1000):Checked := .T.
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
36
How can I add radio buttons to items, without showing the radio-buttons (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "[group=0x3](Radio 1[rad=1][show=1][grp=100][id=1000],Radio 2[rad=0][show=1][grp=100][id=1001],Radio 2[rad=0][show=1][grp=100][id=1002])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
35
How can I add check-buttons to items (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("Check 1")
						oitem1:Check := .T.
						oitem1:Checked := .T.
					oItems1:Add("Check 2"):Check := .T.
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
34
How can I add check-buttons to items (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "[group=0x3](Check 1[chk=1],Check 2[chk=0])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
33
How can I add radio buttons to items (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 1/*exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("Radio 1",,1000)
						oitem1:Radio := .T.
						oitem1:RadioGroup := 100
					oitem2 := oItems1:Add("Radio 2",,1001)
						oitem2:Radio := .T.
						oitem2:RadioGroup := 100
					oitem3 := oItems1:Add("Radio 2",,1003)
						oitem3:Radio := .T.
						oitem3:RadioGroup := 100
					oItems1:item(1000):Checked := .T.
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
32
How can I add radio buttons to items (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:ToString := "[group=0x1](Radio 1[rad=1][grp=100][id=1000],Radio 2[rad=0][grp=100][id=1001],Radio 2[rad=0][grp=100][id=1002])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
31
How can I change the selection/highlighting color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 0,0,0 } )  , .F. ))
		oExContextMenu:SetProperty("Background",102/*exMenuSelBorderColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 128,0,0 } )  , .F. ))
		oExContextMenu:SetProperty("Background",111/*exMenuHotForeColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,255,255 } )  , .F. ))
		oExContextMenu:ToString := "[group=3](Item 1[chk],Item 2[chk])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
30
How can I prevent showing/hide the border on the selected/highlighted item

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("Background",102/*exMenuSelBorderColor*/,oExContextMenu:SelBackColor())
		oExContextMenu:ToString := "Item 1,Item 2"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
29
How can I display a tab into the context menu (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("Background",102/*exMenuSelBorderColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oExContextMenu:ToString := "[id=10][group=0x0103][itemspad=4,4,4,4]([id=20][group=0x03]([id=30][pad=8,0,0,0],Page<off -5><font ;5><b>1</b></font></off>[id=40][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][group=0x03][tab=9000][pad=2,0,2,0]([id=50][group=0x03](add here fields for page 1[dis])),Page<off -5><font ;5><b>2</b></font></off>[id=120][typ=2][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height" +;
		"=16][group=0x03][tab=9000][pad=2,0,2,0]([id=130][group=0x03](add here fields for page 2[dis])),[id=180][pad=8,0,0,0]),[id=190][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=9000]))"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
28
How do I prevent highlighting the item (method 2.b)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("No highlight"):Enabled := .F.
			oItems:Add("Item 2")
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
27
How do I prevent highlighting the item (method 2.a)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("No highlight",2)
				oitem:Items():Add("")
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
			oItems:Add("Item 2")
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26
How do I prevent highlighting the item (method 1.b)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "No highlight[dis],Item 2,Item 3"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25
How do I prevent highlighting the item (method 1.a)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "No highlight[group=0x3][arrow=0]([]),Item 2,Item 3"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24
How can I can I assign pictures or images for the item (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oExContextMenu:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oItems := oExContextMenu:Items()
			oItems:Add("Item"):HTMLImage := "pic1"
			oItems:Add("Item"):HTMLImage := "pic2"
			oItems:Add("",1)
			oItems:Add("Item <img>pic1</img>")
			oItems:Add("Item <img>pic2</img>")
			oItems:Add("",1)
			oItems:Add("<img>pic1</img> Item <img>pic2</img>")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23
How can I can I assign pictures or images for the item (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:SetProperty("HTMLPicture","pic1","c:\exontrol\images\zipdisk.gif")
		oExContextMenu:SetProperty("HTMLPicture","pic2","c:\exontrol\images\auction.gif")
		oExContextMenu:ToString := "Item[himg=pic1],Item[himg=pic2],[sep],Item <img>pic1</img>,Item <img>pic2</img>,[sep],<img>pic1</img> Item <img>pic2</img>"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22
How can I can I assign icons for the item (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oItems := oExContextMenu:Items()
			oItems:Add("Item"):Image := 1
			oItems:Add("Item"):Image := 2
			oItems:Add("",1)
			oItems:Add("Item <img>1</img>")
			oItems:Add("Item <img>2</img>")
			oItems:Add("",1)
			oItems:Add("Item <img>1</img>"):Image := 1
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21
How can I can I assign icons for the item (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oExContextMenu:Items():ToString := "Item[img=1],Item[img=2],[sep],Item <img>1</img>,Item <img>2</img>,[sep],Item <img>1</img>[img=1]"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oItems := oExContextMenu:Items()
			oItems:Padding := "2,2,2,2"
			oItems:SetProperty("BackColor",0x1000000)
			oItems:Add("Item 1")
			oItems:Add("Item 2")
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oExContextMenu:Items():ToString := "[itemsbg=0x1000000][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18
How can I change the background color for a collection of items/group (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Padding := "2,2,2,2"
			oItems:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oItems:Add("Item 1")
			oItems:Add("Item 2")
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17
How can I change the background color for a collection of items/group (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "[itemsbg=RGB(255,0,0)][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16
How can I change the visual appearance / background color (EBN) for a specified item (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oItems := oExContextMenu:Items()
			oItems:Add("Item 1")
			oItems:Add("Item 2"):SetProperty("BackColor",0x1000000)
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15
How can I change the visual appearance / background color (EBN) for a specified item (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oExContextMenu:Items():ToString := "Item 1,Item 2[bg=0x1000000],Item 3"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14
How can I change the background color for a specified item (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item 1")
			oItems:Add("Item 2"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13
How can I change the background color for a specified item (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "Item 1,Item 2[bg=RGB(255,0,0)],Item 3"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12
How do I add a popup or a sub-menu so it show when cursor hovers it (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems1 := oItems:Add("Popup",2):Items()
				oItems1:Add("Item 1")
				oItems1:Add("Item 2")
				oItems1:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11
How do I add a popup or a sub-menu so it show when cursor hovers it (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "Popup(Item 1,Item 2,Item 3)"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10
How can I arrange the items by grouping (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2,oitem3
	LOCAL oItems,oItems1,oItems2,oItems3,oItems4

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
				oItems1 := oitem:Items()
					oitem1 := oItems1:Add("Horizontal",2)
						oitem1:GroupPopup := 1/*exGroupPopup*/
						oItems2 := oitem1:Items()
							oItems2:Add("Sub-Item <b>A</b>")
							oItems2:Add("Sub-Item <b>B</b>")
							oItems2:Add("Sub-Item <b>C</b>")
					oItems1:Add(""):CaptionWidth := 16
					oitem2 := oItems1:Add("Vertical",2)
						oitem2:Alignment := 1/*exCenter*/
						oitem2:GroupPopup := 257/*exGroupPopupVertical+exGroupPopup*/
						oItems3 := oitem2:Items()
							oItems3:Add("Sub-Item <b>A</b>")
							oItems3:Add("Sub-Item <b>B</b>")
							oItems3:Add("Sub-Item <b>C</b>")
					oItems1:Add(""):CaptionWidth := 16
					oitem3 := oItems1:Add("Popup",2)
						oItems4 := oitem3:Items()
							oItems4:Add("Sub-Item <b>A</b>")
							oItems4:Add("Sub-Item <b>B</b>")
							oItems4:Add("Sub-Item <b>C</b>")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9
How can I arrange the items by grouping (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "[group=0x03](Horizontal[group=0x01](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Vertical[group=0x0101][align=1](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Popup(Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=160])"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8
How can I arrange some items vertically, and some horizontally (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem,oitem1,oitem2
	LOCAL oItems,oItems1,oItems2,oItems3

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oItems1 := oitem:Items()
					oItems1:Add("1")
					oItems1:Add("2")
					oItems1:Add("3")
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
			oitem1 := oItems:Add("",2)
				oItems2 := oitem1:Items()
					oItems2:Add("4")
					oItems2:Add("5")
					oItems2:Add("6")
				oitem1:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
			oitem2 := oItems:Add("",2)
				oItems3 := oitem2:Items()
					oItems3:Add("7")
					oItems3:Add("8")
					oItems3:Add("9")
				oitem2:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7
How can I arrange some items vertically, and some horizontally (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "[group=3](1,2,3),[group=3](4,5,6),[group=3](7,8,9)"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6
How can I assign multiple-lines to an item (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oItems1 := oitem:Items()
					oItems1:Add("Item 1"):Caption := "Item <br><c><b>1"
					oItems1:Add("Item 2"):Caption := "Item <br><c><b>2"
					oItems1:Add("Item 3"):Caption := "Item <br><c><b>3"
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5
How can I assign multiple-lines to an item (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "[group=3](Item <br><c><b>1,Item <br><c><b>2,Item <br><c><b>3)"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4
How can I add new items arranged horizontally to the context menu (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oitem
	LOCAL oItems,oItems1

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oitem := oItems:Add("",2)
				oItems1 := oitem:Items()
					oItems1:Add("Item 1")
					oItems1:Add("Item 2")
					oItems1:Add("Item 3")
				oitem:GroupPopup := 3/*exNoGroupPopupFrame+exGroupPopup*/
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3
How can I add new items arranged horizontally to the context menu (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "[group=3](Item 1,Item 2,Item 3)"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2
How can I add new items to the context menu (method 2)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu
	LOCAL oItems

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oItems := oExContextMenu:Items()
			oItems:Add("Item 1")
			oItems:Add("Item 2")
			oItems:Add("Item 3")
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1
How can I add new items to the context menu (method 1)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oExContextMenu

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oExContextMenu := XbpActiveXControl():new( oForm:drawingArea )
	oExContextMenu:CLSID  := "Exontrol.ContextMenu.1" /*{2DFBF6CB-9198-4576-AB91-EE6445C1F3E0}*/
	oExContextMenu:create(,, {10,60},{610,370} )

		oExContextMenu:Items():ToString := "Item 1,Item 2,Item 3"
		oExContextMenu:Select()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN